import java.math.*
import java.util.*
import net.servicestack.client.*
open class ProcessProjectRequestMessage
{
var InstanceId:UUID? = null
var ProjectRequest:ProjectRequestMessage? = null
}
open class ProjectRequestMessage
{
var Header:Header? = null
var ProjectReference:Reference? = null
var IncludeHousingTypes:Boolean? = null
var IncludeConstructionBlocks:Boolean? = null
var IncludeConstructionNumbers:Boolean? = null
var IncludeDocuments:Boolean? = null
var IncludePurchaseContracts:Boolean? = null
}
open class Header
{
var MessageID:String? = null
var Timestamp:Date? = null
var Sender:Party? = null
var Recipient:Party? = null
var RequestMessageID:Object? = null
}
open class Party
{
var Title:String? = null
var Code:String? = null
var Version:String? = null
var Environment:Environment? = null
}
open class Environment
{
var Title:String? = null
var Code:String? = null
}
open class Reference
{
var GlobalID:String? = null
var Title:String? = null
}
open class ProjectResponseMessage
{
var Header:Header? = null
var ProjectReference:Reference? = null
var Project:Project? = null
var HousingTypes:ArrayList<HousingType>? = null
var ConstructionBlocks:ArrayList<ConstructionBlock>? = null
var ConstructionNumbers:ArrayList<ConstructionNumber>? = null
var Documents:ArrayList<Document>? = null
var PurchaseContracts:ArrayList<PurchaseContract>? = null
}
open class Project
{
var GlobalID:String? = null
var CreationDate:Date? = null
var CreatedBy:String? = null
var ModifiedDate:Date? = null
var ModifiedBy:String? = null
var Code:String? = null
var Name:String? = null
var Description1:String? = null
var Description2:String? = null
var Address:Address? = null
var MailingAddress:MailingAddress? = null
var ProjectCategoryReference:Reference? = null
var ProjectTypeReference:Reference? = null
var ProjectStatusReference:Reference? = null
var StartDate:Date? = null
var EndDate:Date? = null
var CompletionDate:Date? = null
var Inactive:Boolean? = null
var Website:String? = null
var IsTemplateProject:Boolean? = null
var CustomFields:ArrayList<CustomField>? = null
}
open class Address
{
var AddressLine1:String? = null
var AddressLine2:String? = null
var HouseNumber:String? = null
var HouseNumberSuffix:String? = null
var PostalCode:String? = null
var City:String? = null
var Country:Reference? = null
}
open class MailingAddress
{
var POBox:String? = null
var PostalCode:String? = null
var City:String? = null
var Country:Reference? = null
}
open class CustomField
{
var Name:String? = null
var Value:String? = null
}
open class HousingType
{
var GlobalID:String? = null
var ProjectReference:Reference? = null
var Code:String? = null
var Description:String? = null
var CustomFields:ArrayList<CustomField>? = null
var CreationDate:Date? = null
var CreatedBy:String? = null
var ModifiedDate:Date? = null
var ModifiedBy:String? = null
}
open class ConstructionBlock
{
var GlobalID:String? = null
var ProjectReference:Reference? = null
var Code:String? = null
var Description:String? = null
var CustomFields:ArrayList<CustomField>? = null
var CreationDate:Date? = null
var CreatedBy:String? = null
var ModifiedDate:Date? = null
var ModifiedBy:String? = null
}
open class ConstructionNumber
{
var GlobalID:String? = null
var ProjectReference:Reference? = null
var HousingTypeReference:Reference? = null
var ConstructionBlockReference:Reference? = null
var Code:String? = null
var Description:String? = null
var Address:Address? = null
var RentalHouse:Boolean? = null
var GuaranteeCertificateNumber:String? = null
var Inactive:Boolean? = null
var CustomFields:ArrayList<CustomField>? = null
var CreationDate:Date? = null
var CreatedBy:String? = null
var ModifiedDate:Date? = null
var ModifiedBy:String? = null
var ViewingDate:Date? = null
var ViewingDateSpecified:Boolean? = null
var DeliveryDate:Date? = null
var DeliveryDateSpecified:Boolean? = null
}
open class Document : ICustomProperties
{
var ID:UUID? = null
var RootDocumentID:UUID? = null
var RegistrationprofileID:UUID? = null
var Title:String? = null
var FullTitle:String? = null
var Number:String? = null
var Version:String? = null
var ExternalNumber:String? = null
var ExternalVersion:String? = null
var InternalNumber:String? = null
var InternalInvoiceNumber:String? = null
var PersonID:Int? = null
var RelationID:Int? = null
var RelationTitle:String? = null
var ProjectID:Int? = null
var ProjectTitle:String? = null
var Extension:String? = null
var Date:Date? = null
var CommentsCount:Int? = null
var HasComments:Boolean? = null
var HasPreview:Boolean? = null
var ExtraField:String? = null
var IsFavorite:Boolean? = null
var DocumentcategoryText:String? = null
var FileSize:Long? = null
var FileDate:Date? = null
var Hash:String? = null
var HashType:String? = null
var FileUrl:String? = null
var StandardDocumentUrl:String? = null
var IsCorporateIdentity:Boolean? = null
var UserTitle:String? = null
var IsFrozen:Boolean? = null
var InternalCompanyID:Int? = null
var DirectUrl:String? = null
var AllowDigitalSigningOnlyOnPrimaryVersions:Boolean? = null
var IsPrimaryVersion:Boolean? = null
var FileExtension:String? = null
var CustomProperties:HashMap<String,Object> = HashMap<String,Object>()
}
open class PurchaseContract
{
var GlobalID:String? = null
var Code:String? = null
var Description:String? = null
var ProjectReference:Reference? = null
var ProductCode:String? = null
var Relation:Relation? = null
var Inactive:Boolean? = null
var CustomFields:ArrayList<CustomField>? = null
var CreationDate:Date? = null
var CreatedBy:String? = null
var ModifiedDate:Date? = null
var ModifiedBy:String? = null
}
open class Relation
{
var GlobalID:String? = null
var NameLine1:String? = null
var NameLine2:String? = null
var Address:Address? = null
var MailingAddress:MailingAddress? = null
var Telephone:String? = null
var Mobile:String? = null
var Email:String? = null
var IBAN:String? = null
var BankAccountNumber:String? = null
var Website:String? = null
var Inactive:Boolean? = null
var CustomFields:ArrayList<CustomField>? = null
var CreationDate:Date? = null
var CreatedBy:String? = null
var ModifiedDate:Date? = null
var ModifiedBy:String? = null
}
Kotlin ProcessProjectRequestMessage DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/reply/ProcessProjectRequestMessage HTTP/1.1
Host: kpm_digiofficeapigateway.tbi.nl
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
ProjectRequest:
{
Header:
{
MessageID: String,
Timestamp: 0001-01-01,
Sender:
{
Title: String,
Code: String,
Version: String,
Environment:
{
Title: String,
Code: String
}
},
Recipient:
{
Title: String,
Code: String,
Version: String,
Environment:
{
Title: String,
Code: String
}
},
RequestMessageID: {}
},
ProjectReference:
{
GlobalID: String,
Title: String
},
IncludeHousingTypes: False,
IncludeConstructionBlocks: False,
IncludeConstructionNumbers: False,
IncludeDocuments: False,
IncludePurchaseContracts: False
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Header:
{
MessageID: String,
Timestamp: 0001-01-01,
Sender:
{
Title: String,
Code: String,
Version: String,
Environment:
{
Title: String,
Code: String
}
},
Recipient:
{
Title: String,
Code: String,
Version: String,
Environment:
{
Title: String,
Code: String
}
},
RequestMessageID: {}
},
ProjectReference:
{
GlobalID: String,
Title: String
},
Project:
{
GlobalID: String,
CreationDate: 0001-01-01,
CreatedBy: String,
ModifiedDate: 0001-01-01,
ModifiedBy: String,
Code: String,
Name: String,
Description1: String,
Description2: String,
Address:
{
AddressLine1: String,
AddressLine2: String,
HouseNumber: String,
HouseNumberSuffix: String,
PostalCode: String,
City: String,
Country:
{
GlobalID: String,
Title: String
}
},
MailingAddress:
{
POBox: String,
PostalCode: String,
City: String,
Country:
{
GlobalID: String,
Title: String
}
},
ProjectCategoryReference:
{
GlobalID: String,
Title: String
},
ProjectTypeReference:
{
GlobalID: String,
Title: String
},
ProjectStatusReference:
{
GlobalID: String,
Title: String
},
StartDate: 0001-01-01,
EndDate: 0001-01-01,
CompletionDate: 0001-01-01,
Inactive: False,
Website: String,
IsTemplateProject: False,
CustomFields:
[
{
Name: String,
Value: String
}
]
},
HousingTypes:
[
{
GlobalID: String,
ProjectReference:
{
GlobalID: String,
Title: String
},
Code: String,
Description: String,
CustomFields:
[
{
Name: String,
Value: String
}
],
CreationDate: 0001-01-01,
CreatedBy: String,
ModifiedDate: 0001-01-01,
ModifiedBy: String
}
],
ConstructionBlocks:
[
{
GlobalID: String,
ProjectReference:
{
GlobalID: String,
Title: String
},
Code: String,
Description: String,
CustomFields:
[
{
Name: String,
Value: String
}
],
CreationDate: 0001-01-01,
CreatedBy: String,
ModifiedDate: 0001-01-01,
ModifiedBy: String
}
],
ConstructionNumbers:
[
{
GlobalID: String,
ProjectReference:
{
GlobalID: String,
Title: String
},
HousingTypeReference:
{
GlobalID: String,
Title: String
},
ConstructionBlockReference:
{
GlobalID: String,
Title: String
},
Code: String,
Description: String,
Address:
{
AddressLine1: String,
AddressLine2: String,
HouseNumber: String,
HouseNumberSuffix: String,
PostalCode: String,
City: String,
Country:
{
GlobalID: String,
Title: String
}
},
RentalHouse: False,
GuaranteeCertificateNumber: String,
Inactive: False,
CustomFields:
[
{
Name: String,
Value: String
}
],
CreationDate: 0001-01-01,
CreatedBy: String,
ModifiedDate: 0001-01-01,
ModifiedBy: String,
ViewingDate: 0001-01-01,
ViewingDateSpecified: False,
DeliveryDate: 0001-01-01,
DeliveryDateSpecified: False
}
],
Documents:
[
{
GlobalID: String,
RootDocumentID: String,
Code: String,
Subject: String,
VersionNumber: String,
NewestVersion: False,
RelationReference:
{
GlobalID: String,
Title: String
},
DocumentTypeReference:
{
GlobalID: String,
Title: String
},
ProjectReference:
{
GlobalID: String,
Title: String
},
ConstructionBlockReference:
{
GlobalID: String,
Title: String
},
ConstructionNumberReference:
{
GlobalID: String,
Title: String
},
HousingTypeReference:
{
GlobalID: String,
Title: String
},
Floor: 0,
FloorSpecified: False,
DeletedDate: 0001-01-01,
DeletedDateSpecified: False,
File:
{
Type: String,
Name: String,
Size: 0,
Content: String,
ModifiedDate: 0001-01-01
},
CustomFields:
[
{
Name: String,
Value: String
}
],
CreationDate: 0001-01-01,
CreatedBy: String,
ModifiedDate: 0001-01-01,
ModifiedBy: String
}
],
PurchaseContracts:
[
{
GlobalID: String,
Code: String,
Description: String,
ProjectReference:
{
GlobalID: String,
Title: String
},
ProductCode: String,
Relation:
{
GlobalID: String,
NameLine1: String,
NameLine2: String,
Address:
{
AddressLine1: String,
AddressLine2: String,
HouseNumber: String,
HouseNumberSuffix: String,
PostalCode: String,
City: String,
Country:
{
GlobalID: String,
Title: String
}
},
MailingAddress:
{
POBox: String,
PostalCode: String,
City: String,
Country:
{
GlobalID: String,
Title: String
}
},
Telephone: String,
Mobile: String,
Email: String,
IBAN: String,
BankAccountNumber: String,
Website: String,
Inactive: False,
CustomFields:
[
{
Name: String,
Value: String
}
],
CreationDate: 0001-01-01,
CreatedBy: String,
ModifiedDate: 0001-01-01,
ModifiedBy: String
},
Inactive: False,
CustomFields:
[
{
Name: String,
Value: String
}
],
CreationDate: 0001-01-01,
CreatedBy: String,
ModifiedDate: 0001-01-01,
ModifiedBy: String
}
]
}